//
// Created by sjjmw on 3/24/2022.
//
#include "iostream"
#include "vector"
#include "list"
#include "algorithm"
#include "string"
#include "unordered_map"
void handle(int n
            ){
//    int c=2;
int cnt=0;
    for(int c=2;c<=n;c++){
        while (n%c==0){
            n/=c;
            cnt++;
//            printf("%d ",c);
            if(cnt==2){
                if(n!=1){
                    printf("No");
                }else{
                    printf("Yes");
                }
                printf("\n");
                return;
            }
        }

    }
    if(cnt<=1){
        printf("No");
        printf("\n");
    }
}

int main(){
    int a,b,c;
//    std::unordered_map<int,char> zhongjiang;
//std::vector<int> buf(7);
    while(
            std::cin>>a
    ){
        for(int i=0;i<a;i++){
            std::cin>>b;
            handle(b);
        }
//        handle(a);
    }
    return 0;
}